নিচে একটি উদাহরণ দেওয়া হলো যা জাভাতে HTTP রিকোয়েস্ট করার জন্য URLConnection ব্যবহার করে। এই উদাহরণে আমরা একটি URL এর সাথে সংযোগ তৈরি করব, এবং HTTP GET রিকোয়েস্ট পাঠাব।
Java URL Connection Example: HTTP GET Request
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class URLConnectionExample {
public static void main(String[] args) {
try {
// URL তৈরি করুন
String urlString = "https://jsonplaceholder.typicode.com/posts"; // উদাহরণ হিসেবে একটি ফেক API URL
URL url = new URL(urlString);
// HTTP GET রিকোয়েস্ট তৈরি করুন
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET"); // GET রিকোয়েস্ট পাঠানো
// রেসপন্স কোড চেক করুন
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
// রেসপন্স পড়ুন যদি কোড 200 (OK) হয়
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// রেসপন্স প্রিন্ট করুন
System.out.println("Response Content: ");
System.out.println(response.toString());
} else {
System.out.println("GET request failed");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
- URL সংযোগ: প্রথমে
URLঅবজেক্ট তৈরি করা হয় এবং সেটিHttpURLConnectionদিয়ে খোলা হয়। - HTTP GET রিকোয়েস্ট:
setRequestMethod("GET")দিয়ে HTTP GET রিকোয়েস্ট পাঠানো হয়। - রেসপন্স কোড: রেসপন্স কোড চেক করা হয়। যদি কোড 200 হয়, তবে এটি সফল রিকোয়েস্ট।
- রেসপন্স পড়া: যদি রিকোয়েস্ট সফল হয়, আমরা
BufferedReaderব্যবহার করে রেসপন্স স্ট্রিম থেকে ডেটা পড়ি এবং সেটি একটিStringBuilderতে জমা করি। - এলার্ট: যদি রিকোয়েস্ট সফল না হয়, তাহলে একটি মেসেজ দেখানো হয়।
Java Technologies for HTTP Requests
জাভাতে HTTP রিকোয়েস্টের জন্য কিছু জনপ্রিয় প্রযুক্তি ও লাইব্রেরি রয়েছে:
- URLConnection: এটা জাভার স্ট্যান্ডার্ড লাইব্রেরির একটি ক্লাস যা URL এর মাধ্যমে HTTP/HTTPS রিকোয়েস্ট পাঠাতে সাহায্য করে।
- HttpClient (Java 11 and newer): Java 11 থেকে
HttpClientAPI প্রদান করা হয়, যা HTTP রিকোয়েস্ট পরিচালনা করতে আরও সহজ এবং শক্তিশালী। - Apache HttpClient: তৃতীয় পক্ষের একটি জনপ্রিয় লাইব্রেরি যা আরও ফিচার এবং কনফিগারেশন অপশন প্রদান করে।
- OkHttp: এটি একটি সহজ, স্লিম এবং সারা বিশ্বে ব্যবহৃত HTTP ক্লায়েন্ট লাইব্রেরি।
HttpClient Example (Java 11 and newer)
Java 11 থেকে শুরু করে, HttpClient API যোগ করা হয়েছে যা URLConnection থেকে আরও উন্নত। নিচে তার একটি উদাহরণ দেওয়া হলো:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpClientExample {
public static void main(String[] args) {
try {
// HttpClient তৈরি
HttpClient client = HttpClient.newHttpClient();
// GET রিকোয়েস্ট তৈরি
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://jsonplaceholder.typicode.com/posts"))
.build();
// রিকোয়েস্ট পাঠান এবং রেসপন্স প্রাপ্ত করুন
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// রেসপন্স কোড এবং কন্টেন্ট প্রিন্ট করুন
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
HttpClientঅবজেক্ট তৈরি করা হয়, যা HTTP রিকোয়েস্ট পাঠানোর জন্য ব্যবহৃত।HttpRequestতৈরি করে URL সেট করা হয় এবংsend()মেথডের মাধ্যমে HTTP রিকোয়েস্ট পাঠানো হয়।- রেসপন্সের স্ট্যাটাস কোড এবং বডি প্রদর্শন করা হয়।
এই উদাহরণগুলি HTTP রিকোয়েস্টের জন্য জাভাতে দুইটি জনপ্রিয় উপায় দেখায়। URLConnection বেশ পুরানো এবং কিছুটা জটিল, তবে HttpClient একটি আধুনিক এবং আরও সুবিধাজনক পদ্ধতি।
Content added By
Read more